public class 函数符号 {

    public String 名称;
    public int 参数个数;
    public int 局部变量个数;
    public int 地址; // 函数在字节码中的地址


    public 函数符号(String 名称) {
        this.名称 = 名称;
    }

    public 函数符号(String 名称, int 地址, int 参数个数, int 局部变量个数) {
        this.名称 = 名称;
        this.地址 = 地址;
        this.参数个数 = 参数个数;
        this.局部变量个数 = 局部变量个数;
    }

    @Override
    public int hashCode() {
        return 名称.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return obj instanceof 函数符号 && ((函数符号) obj).名称.equals(this.名称);
    }

    @Override
    public String toString() {
        return "函数符号{" +
                "名称='" + 名称 + '\'' +
                ", 参数个数=" + 参数个数 +
                ", 局部变量个数=" + 局部变量个数 +
                ", 地址=" + 地址 +
                '}';
    }
}
